#ifndef MYCLIENTLISTENER_H
#define MYCLIENTLISTENER_H

#include <QObject>
#include "dcpp/ClientListener.h"
#include "dcpp/stdinc.h"
#include "dcpp/typedefs.h"

class MyClientListener : public QObject, public dcpp::ClientListener{
    Q_OBJECT
public:
    explicit MyClientListener(QObject *parent = 0);

    void on(dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::Connecting, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::Connected, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::UserUpdated, dcpp::Client*, const dcpp::OnlineUser&) noexcept;
    void on(dcpp::ClientListener::UsersUpdated, dcpp::Client*, const dcpp::OnlineUserList&) noexcept;
    void on(dcpp::ClientListener::UserRemoved, dcpp::Client*, const dcpp::OnlineUser&) noexcept;
    void on(dcpp::ClientListener::Redirect, dcpp::Client*, const std::string&) noexcept;
    void on(dcpp::ClientListener::Failed, dcpp::Client*, const std::string&) noexcept;
    void on(dcpp::ClientListener::GetPassword, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::HubUpdated, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::Message, dcpp::Client*, const dcpp::ChatMessage&) noexcept;
    void on(dcpp::ClientListener::StatusMessage, dcpp::Client*, const std::string&, int = FLAG_NORMAL) noexcept;
    void on(dcpp::ClientListener::HubUserCommand, dcpp::Client*, int, int, const std::string&, const std::string&) noexcept;
    void on(dcpp::ClientListener::HubFull, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::NickTaken, dcpp::Client*) noexcept;
    void on(dcpp::ClientListener::SearchFlood, dcpp::Client*, const std::string&) noexcept;
    void on(dcpp::ClientListener::NmdcSearch, dcpp::Client*, const std::string&, int, int64_t, int, const std::string&) noexcept;
    void on(dcpp::ClientListener::AdcSearch, dcpp::Client*, const dcpp::AdcCommand&, const dcpp::CID&) noexcept;
signals:
    
public slots:
    
};

#endif // MYCLIENTLISTENER_H
